package baidumodel.entity.chat;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

/**
 * api :<a href="https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/text2image/sd_xl">https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/text2image/sd_xl</a>
 *
 * @Author wuchenxi
 * @Date 2023-07-23 17:58:34
 */
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class StableDiffusionXLResponse extends ResponseCode implements Serializable {

    /**
     * 本轮对话的id
     */
    protected String id;

    /**
     * 回包类型。image：图像生成返回
     */
    protected String object;

    /**
     * 时间戳
     */
    protected Integer created;

    /**
     * 生成图片结果
     */
    private List<ImageData> data;

    /**
     * token统计信息，token数 = 汉字数+单词数*1.3 （仅为估算逻辑）
     */
    private Usage usage;

    @Data
    public static class Usage implements Serializable {
        /**
         * 问题tokens数
         */
        protected Integer prompt_tokens;

        /**
         * 回答tokens数
         */
        protected Integer completion_tokens;

        /**
         * tokens总数
         */
        protected Integer total_tokens;
    }

    @Data
    public static class ImageData {

        /**
         * 固定值"image"
         */
        private String object;

        /**
         * 图片base64编码内容
         */
        private String b64_image;

        /**
         * 序号
         */
        private Integer index;
    }
}
